#include "Logger.h"
#include <cstdio>
#include <cstdlib>// for exit

void Logger::debug(const char* file, const char* func, int line,
                   const char* fmt, ...) const
{
#if DEBUG
    // 输出日志头部（位置信息）
    printf("DEBUG: %s@%s, line: %d\n***LogInfo[", file, func, line);

    // 处理可变参数并输出日志内容
    va_list args;
    va_start(args, fmt);
    vprintf(fmt, args);// 使用vprintf处理va_list类型的可变参数
    va_end(args);

    printf("]\n\n");
#endif
}

void Logger::error(const char* file, const char* func, int line,
                   const char* fmt, ...) const
{
#if DEBUG
    // 输出错误日志头部（位置信息）
    printf("ERROR: %s@%s, line: %d\n***LogInfo[", file, func, line);

    // 处理可变参数并输出错误内容
    va_list args;
    va_start(args, fmt);
    vprintf(fmt, args);
    va_end(args);

    printf("]\n\n");
#endif
    exit(0);// 错误日志触发程序退出（保持原逻辑）
}